import axios from 'axios'

const API_BASE_URL = '/api/users'

// 创建axios实例
const apiClient = axios.create({
    baseURL: API_BASE_URL,
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json'
    }
})

// 请求拦截器
apiClient.interceptors.request.use(
    config => {
        console.log('发送请求:', config.method?.toUpperCase(), config.url)
        return config
    },
    error => {
        console.error('请求错误:', error)
        return Promise.reject(error)
    }
)

// 响应拦截器
apiClient.interceptors.response.use(
    response => {
        console.log('收到响应:', response.status, response.data)
        return response.data
    },
    error => {
        console.error('响应错误:', error.response?.status, error.response?.data)
        return Promise.reject(error)
    }
)

export const userApi = {
    // 获取所有用户
    getAllUsers() {
        return apiClient.get('')
    },

    // 获取活跃用户
    getActiveUsers() {
        return apiClient.get('/active')
    },

    // 根据ID获取用户
    getUserById(id) {
        return apiClient.get(`/${id}`)
    },

    // 根据用户名获取用户
    getUserByUsername(username) {
        return apiClient.get(`/username/${username}`)
    },

    // 创建用户
    createUser(userData) {
        return apiClient.post('', userData)
    },

    // 更新用户
    updateUser(id, userData) {
        return apiClient.put(`/${id}`, userData)
    },

    // 删除用户
    deleteUser(id) {
        return apiClient.delete(`/${id}`)
    },

    // 搜索用户
    searchUsers(keyword) {
        return apiClient.get('/search', {
            params: { keyword }
        })
    }
} 